import { get, post, put, del } from '@/utils/request';

/**
 * 部门信息接口定义
 */
export interface Department {
  id: number; // 部门ID
  name: string; // 部门名称
  parentId?: number; // 父部门ID
  level: number; // 部门层级
  sort: number; // 排序
  description?: string; // 部门描述
  createTime: string; // 创建时间
  updateTime: string; // 更新时间
  children?: Department[]; // 子部门列表
}

/**
 * 获取部门树形结构
 * 完整演示从前端到后端的请求流程
 * @returns Promise<Department[]>
 */
export const getDepartmentTree = async (): Promise<Department[]> => {
  // 发送GET请求到 /department/tree 接口
  // 请求头会自动添加Token: Bearer xxx
  // 后端返回格式: { code: 200, data: Department[], msg: "success" }
  // request.ts会自动处理响应，只返回data部分
  return get<Department[]>('/lpgFactory/lpgFactoryNameAndPosition');
};

// 导出默认API对象（可选）
export default {
  getDepartmentTree,
};